]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
workspace: Don't save the current layout
authorJasper St. Pierre <jstpierre@mecheye.net>
Mon, 25 Feb 2013 21:56:11 +0000 (16:56 -0500)
committerJasper St. Pierre <jstpierre@mecheye.net>
Sat, 20 Apr 2013 12:33:26 +0000 (08:33 -0400)
This was saved so that doing something which called relayout
but only changed the area rectangle would simply be needed to
recompute window scaling parameters. With the new overview
relayout, the flow control changed, it turns out that the
current layout is always cleared. Remove this for now, and we'll
put in a different strategy for this.

https://bugzilla.gnome.org/show_bug.cgi?id=694469

js/ui/workspace.js

index 3218329841fdd27367c496e637faefab1bdd87ed..338d0b9aecea7137d8b352ceca24b54f31704943 100644 (file)
@@ -947,8 +947,6 @@ const Workspace = new Lang.Class({
 
         this._positionWindowsFlags = 0;
         this._positionWindowsId = 0;
-
-        this._currentLayout = null;
     },
 
     setGeometry: function(x, y, width, height) {
@@ -991,7 +989,6 @@ const Workspace = new Lang.Class({
             clone = null;
 
         this._reservedSlot = clone;
-        this._currentLayout = null;
         this.positionWindows(WindowPositionFlags.ANIMATE);
     },
 
@@ -1220,7 +1217,6 @@ const Workspace = new Lang.Class({
         this._cursorX = x;
         this._cursorY = y;
 
-        this._currentLayout = null;
         this._repositionWindowsId = Mainloop.timeout_add(750,
             Lang.bind(this, this._delayedWindowRepositioning));
     },
@@ -1268,7 +1264,6 @@ const Workspace = new Lang.Class({
             clone.overlay.relayout(false);
         }
 
-        this._currentLayout = null;
         this.positionWindows(WindowPositionFlags.ANIMATE);
     },
 
@@ -1306,8 +1301,6 @@ const Workspace = new Lang.Class({
 
     // Animate the full-screen to Overview transition.
     zoomToOverview : function() {
-        this._currentLayout = null;
-
         // Position and scale the windows.
         if (Main.overview.animationInProgress)
             this.positionWindows(WindowPositionFlags.ANIMATE | WindowPositionFlags.INITIAL);
@@ -1515,16 +1508,6 @@ const Workspace = new Lang.Class({
         return lastLayout;
     },
 
-    _rectEqual: function(one, two) {
-        if (one == two)
-            return true;
-
-        return (one.x == two.x &&
-                one.y == two.y &&
-                one.width == two.width &&
-                one.height == two.height);
-    },
-
     _computeAllWindowSlots: function(windows) {
         let totalWindows = windows.length;
         let node = this.actor.get_theme_node();
@@ -1569,18 +1552,8 @@ const Workspace = new Lang.Class({
             height: this._height - padding.top - padding.bottom,
         };
 
-        if (!this._currentLayout)
-            this._currentLayout = this._computeLayout(windows, area, rowSpacing, columnSpacing);
-
-        let layout = this._currentLayout;
-        let strategy = layout.strategy;
-
-        if (!this._rectEqual(area, layout.area)) {
-            layout.area = area;
-            strategy.computeScaleAndSpace(layout);
-        }
-
-        return strategy.computeWindowSlots(layout, area);
+        let layout = this._computeLayout(windows, area, rowSpacing, columnSpacing);
+        return layout.strategy.computeWindowSlots(layout, area);
     },
 
     _onCloneSelected : function (clone, time) {